/**
 * 登录类型 password email
 */
export enum LoginType {
  /** 密码 */
  password = 'password',
  /** 邮箱 */
  email = 'email',
  /** 手机号 */
  mobile = 'mobile'
}

/**
 * 客户端类型 web: 1 微信小程序: 2
 */
export enum ClientType {
  web = 1,
  wechat = 2
}

/** 时间排序 */
export enum TimeSort {
  /** 倒序 */
  倒序 = 1,
  /** 正序 */
  正序 = 0
}

/** id排序 */
export enum IdSort {
  /** 倒序 */
  倒序 = 1,
  /** 正序 */
  正序 = 0
}

/** 数值布尔 */
export enum NumBool {
  是 = 1,
  否 = 0
}
export const NumBoolObj: ValueEnumMap<number> = new Map([
  [
    NumBool.是,
    {
      text: '是',
      color: 'blue'
    }
  ],
  [
    NumBool.否,
    {
      text: '否',
      color: 'red'
    }
  ]
]);

/** 通用状态 */
export enum CommonStatus {
  启用 = 1,
  禁用 = 0
}
export const CommonStatusObj: ValueEnumMap<number> = new Map([
  [
    CommonStatus.启用,
    {
      text: '启用',
      color: 'green'
    }
  ],
  [
    CommonStatus.禁用,
    {
      text: '禁用',
      color: 'red'
    }
  ]
]);

/** 性别 */
export enum Gender {
  男 = 1,
  女 = 0
}
export const GenderObj: ValueEnumMap<number> = new Map([
  [
    Gender.男,
    {
      text: '男',
      color: 'blue'
    }
  ],
  [
    Gender.女,
    {
      text: '女',
      color: 'red'
    }
  ]
]);

/** 对象类型 全部 角色 部门 用户 */
export enum TargetType {
  角色 = '角色',
  部门 = '部门',
  用户 = '用户'
}
export const TargetTypeObj: ValueEnumMap<string> = new Map([
  [
    TargetType.角色,
    {
      text: '角色',
      color: 'purple'
    }
  ],
  [
    TargetType.部门,
    {
      text: '部门',
      color: 'pink'
    }
  ],
  [
    TargetType.用户,
    {
      text: '用户',
      color: 'yellow'
    }
  ]
]);

/** 筛选类型 精确或者模糊 针对文本输入筛选项 */
export enum SearchType {
  /** 精确 */
  精确 = 0,
  /** 模糊 */
  模糊 = 1
}
